When two computing devices engage in communication over a network, a first device can send data to a second device. The second device can acknowledge successful receipt of data sent by the first device by sending one or more ACK packets to the first device. For example, devices and networks implementing certain transport layer protocols, such as transmission control protocol (TCP), can use ACK packets as a flow control mechanism. In this regard, a device sending a series of data packets to a second device can be allowed to send up to a predefined maximum number of unacknowledged data packets to the second device before receiving an ACK packet acknowledging successful receipt of a sent unacknowledged data packet. If the sending device sending the series of data packets has sent the maximum number of unacknowledged data packets, the sending device has to discontinue sending further sequential packets in the series of data packets and/or resend one or more previously sent data packets until receiving an ACK from the second device. As such, if there is a delay in the second device sending an ACK packet to acknowledge receipt of a data packet sent by the sending device, the throughput and round trip time (RTT) for the communication session with the sending device can be reduced, as sending of data packets by the sending device can be stalled.
In many cases, the bandwidth available for sending data in one direction on a network is not the same as for data sent in the other direction. For example, in many cellular communications systems, available downlink (DL) bandwidth is often significantly greater than available uplink (UL) bandwidth, as the volume of data downloaded from the network by a mobile terminal can be much greater than the volume of data uploaded to the network by the mobile terminal. However, sometimes UL bandwidth is not even sufficient to allow transmission of TCP ACK packets. This situation can be exacerbated if a device is uploading data to the network while sending TCP ACK packets to acknowledge data received on the DL. As a result of this congestion on the UL, the RTT for TCP service can be increased, and the DL throughput can be impacted, as the sending of data packets on the DL can be stalled due to delayed transmission of TCP ACK packets.